MRP, material requirements planning, is a function or module that may be part of an overall computer implemented business management solution. An MRP run tries to cover material shortages related to manufacturing products by creating new material receipts (e.g. planned orders) for parts used in the manufacturing process. MRP should create production and procurement planning orders in such a way, that material requirements can be covered in time. The material availability date of the material receipt should be equal or earlier than the material requirement, which is covered by the material receipt. When MRP detects a material shortage, it only knows the required availability date.
Sourcing and bill of material (BOM) explosion typically depends on the order start date. The order start date may be calculated from the required availability date if the lead time were known. Unfortunately the lead time depends on the source of supply. Production could be performed on different resources with different processing speeds. A raw material could be procured from different suppliers requiring different transportation times. The problem is that sourcing and BOM explosion require knowledge about the lead time and the lead time can only be determined after sourcing. If a planned order end date is changed, then lead time scheduling is performed to determine the new order start date and BOM and routing are re-exploded using the new order start date. This approach has several disadvantages.
The user has to define the production lead time in the material master. This is somewhat redundant since the information is also available in the routing.
The production lead time in the material master is only a very rough estimate of the real production time. Since the production lead time is stored in the material master it does not depend on the source of supply. Different sources of supply (different production versions or different alternative routings) may however have different lead times.
Some MRP functions in business management systems use lead time scheduling to determine the target dates of the planned order. The scheduled dates of the planned order operations may differ from the target dates. BOM and routing may be invalid at the actual production start.
The system re-explodes un-firmed planned orders every time the order is rescheduled. This potentially destroys order information (especially scheduled dates of operations).
In a further business management system, planned orders are scheduled based on routing information. The system selects the source of supply based on the requirement date as the order start date is not yet known. It explodes BOM and routing using the requirement date. It then calculates the order start date using infinite scheduling based on the routing. If the first explosion result is invalid at the order start date, then a second explosion of BOM and routing is performed using the order start date calculated with the first routing explosion. This approach also has several disadvantages.
The system works on production durations, not lead times. The infinite scheduling performed by the system returns very optimistic estimates for the order start date. If several planned orders compete for the same resource then the estimated order start date is not feasible. The system is also based on an assumption that the production time does not change much over time. The second explosion of BOM and routing may however result in longer production lead times than the first explosion. If the second explosion is valid only for a short period of time (which happens in case of frequent engineering changes) then it may not be possible to schedule the order in the interval between the order start date calculated by the first explosion and the requirement date (in this the system will violate the requirement date).
The infinite scheduling used performed to determine the order start date is a complex procedure. The user does not know and has no means to find out how the source of supply was selected. The algorithm is also difficult to adapt to customer needs.